#  第一步  导入模块
import pandas as  pd
#明确分析的目的
# 1、购买商品数前五的国家？
# 2、交易额前五的国家？
# 3、某年销量最佳？
# 4、客单价多少？
###第二步  读取表
pd.set_option('display.max_columns',None)  #读取完整的行
df = pd.read_excel(r'C:\Users\Administrator\Desktop\零散销售情况.xlsx')
# print(df.head())

##删除表中不需要的列
# df.drop(columns=['Unnamed','StockCode','Description'])
# print(df.head())

####  描述统计。对表格有个大概的了解
# print(df.describe())
# ####  查看信息，瞎看数据的属性
# print(df.info())


###新增一列装订单总额
df['订单总额']=df['Quantity']*df['UnitPrice']
###新增一列装 年份
df['year'] =df['InvoiceDate'].dt.year
print(df.head())
###筛选退单的   退货订单编号开头有字母‘C’
ser=df['InvoiceNo'].str[0]!='C'
df=df[ser]
print(df.head(10))
# print(df)
####3###
# 1、购买商品数前五的国家？  对国家分组，再对商品销量求和
# c_sum=df.groupby('Country')['Quantity'].sum()
# print(c_sum)
# #排序   Ser.sort_values(ascending=False)  True 升序  False 降序
# c_sum=c_sum.sort_values(ascending=False)
# print(c_sum.head(5))

# 2、交易额前五的国家？  得到交易额，数量*单价   新增一列求交易额，在分组，求和，排序
# s_sum=df.groupby('Country')['订单总额'].sum()
# s_sum=s_sum.sort_values(ascending=False)
# print(s_sum.head(5))
# 3、某年销量最佳？
# d_sum=df.groupby('year')['Quantity'].sum()
# d_sum=d_sum.sort_values(ascending=False)
# print(d_sum)
# 4、客单价多少？
k=df['订单总额'].sum()  #销售总额
#客户人数
# r_cout=len(df.goupby('CustomerID'))  #多少行的分组
# print(r_cout)
#   去重函数   df.drop_duplicates(subset=['去重的列名'],keep='first',inplace=False  )
#   参数keep：first  保留的第一次出现的重复行，last  最后一次出现的  。False 为删除所有的重复行
#  inplace  默认False  不动元数据，返回新表。    True 在原表中修改
r_count=df.drop_duplicates(subset=['CustomerID'],keep='first',inplace=False )
r_count=r_count['CustomerID'].count()
print(r_count)
a=k/r_count
print(a)


